

#list1 = ['physics', 'chemistry', 1997, 2000]
#list2 = [1, 2, 3, 4, 5 ]
#list3 = ["a", "b", "c", "d"]

#print("list1[0]: ", list1[0])
#print("list2[1:5]: ", list2[1:5])
#print("list2[1:50]: ", list2[1:50])

#for x in list1:
#    print(x)
#else:	
#	print("结束")
	
#list1.append("123");
#print("list1:",list1);
#list1.append(123);
#print("list1:",list1);



list1 = ['张三','李四','王二','麻子','张三','张三']
#列表的增删改查

#增加，头部，尾部，指定位置
if False:
	#插入到列表头部
	list1.insert(0,'王二小')
	print(list1); #输出：['王二小', '张三', '李四', '王二', '麻子', '张三', '张三']
	#插入到列表尾部
	list1.append('斗战神')
	print(list1); #输出：['王二小', '张三', '李四', '王二', '麻子', '张三', '张三', '斗战神']
	#插入到列表指定位置
	#插入的下标如果越界了，会插入到列表的最后面
	list1.insert(1110,'王')
	print(list1); #输出：['王二小', '张三', '李四', '王二', '麻子', '张三', '张三', '斗战神', '王']


#指定位置删除，指定元素删除，删除指定范围内的元素
if False:
	#删除指定位置的元素
	list1 = ['张三','李四','王二','麻子','张三','张三'];
	del(list1[0]);		#删除下标为 0 的元素。
	print(list1);		#输出：['李四', '王二', '麻子', '张三', '张三'] 删除了第一个张三
	list1 = ['张三','李四','王二','麻子','张三','张三'];
	del(list1[1]);		#删除下标为 1 的元素。
	print(list1);		#输出：['张三', '王二', '麻子', '张三', '张三'] 删除了李四
	#删除指定的元素
	list1 = ['1','a','b','','c','1',''] #删除多个 ''
	while '' in list1:
		list1.remove('')
	print(list1);  #输出：['1','a','b','','c','1']     所有的''都成功的被删除了
	list1 = ['1','a','b','','c','1','']
	for x in list1:
		if x == '':
			list1.remove(x)
	print(list1);  #输出：['1', 'a', 'b', 'c', '1']	所有的''都成功的被删除了
	#删除指定范围内的元素
	list1 = ['1','a','b','','c','1','']
	del(list1[1:5])
	print(list1);	#输出：['1', '1', '']   删除了下标为  1 到 4的多有元素
	list1 = ['1','a','b','','c','1','']
	del(list1[1:50])
	print(list1);	#输出：['1']  删除了下标为 1到最后的所有元素，下标越界不会抛异常


	#list1 = ['张三','李四','王二','麻子','张三','张三'];
	#print(list1.pop()); #输出：张三   ， 删除了列表最后一个元素
	#print(list1);		#输出：['张三', '李四', '王二', '麻子', '张三']


#指定元素的修改，指定位置的修改
if True:
	#修改指定下标的元素
	list1 = ['1','2','3','1','12'];
	list1[0] = "111";	#把下标为 0 的元素修改成 111
	#list1[110] = "111";#直接抛异常，列表越界
	print(list1);		#输出：['111', '2', '3', '1', '12']
	#指定元素的修改
	list1 = ['1','2','3','1','12'];
	for x in list1:
	    if x == '1':
	        list1[list1.index(x)] = '111';
	print(list1);

#查找指定元素的数量，查询指定元素的下标，根据下标获取元素，根据范围获取元素
if False:
	#查找指定元素的数量
	list1 = ['1','2','3','1','12'];
	print(list1.count('1')); #输出： 2
	#查询列表中所有字段出现的次数
	list1 = ['1','2','3','1','12','2','1'];
	result = {}
	for i in set(list1):
		result[i] = list1.count(i)
	print(result);	#输出：{'2': 2, '1': 3, '3': 1, '12': 1}

	#查询指定元素的下标
	list1 = ['1','2','3','1','12','2','1'];
	print(list1.index('1'));	#输出：0
	print(list1.index('2'));	#输出：1
	print(list1.index('3'));	#输出：2

	#根据下标获取元素
	list1 = ['1','2','3','1','12','2','1'];
	print(list1[4]);			#输出：12
	#print(list1[40])	直接抛异常

	#根据范围获取元素
	#list1 = ['1','2','3','1','12','2','1'];
	print(list1[4:40]);			#输出：['12', '2', '1']

#列表操作，长度，去重，排序，合并，转元祖，转字符串，字符串转列表
if True:
	#获取列表的长度
	list1 = ['1','2','3','1','12','2','1'];
	print(len(list1));		#输出： 7
	#去重
	#一
	list1 = ['1','2','3','1','12','2','1'];
	list2 = []
	for x in list1:
		if x not in list2:
			list2.append(x)
	print(list2);			#输出：['1', '2', '3', '12']
	#二
	list1 = ['1','2','3','1','12','2','1'];
	list1 = list(set(list1))
	print(list1);			#输出：['3', '12', '2', '1']

	#排序
	#一
	list1 = ['1','2','3','1','12','2','1'];
	list1 = sorted(list1)
	print(list1);			#输出：['1', '1', '1', '12', '2', '2', '3']
	#二
	list1 = ['1','2','3','1','12','2','1'];
	list1.sort()
	print(list1);			#输出：['1', '1', '1', '12', '2', '2', '3']
	#合并
	list1 = ['1','2','3','4']
	list2 = ['55','66','77','88']
	print(list1 + list2)	#输出：['1', '2', '3', '4', '55', '66', '77', '88']
	list1 += list2
	print(list1);			#输出：['1', '2', '3', '4', '55', '66', '77', '88']

	list1 = ['1','2','3','4']
	list2 = ['55','66','77','88']
	list1.extend(list2);
	print(list1);			#输出：['1', '2', '3', '4', '55', '66', '77', '88']
	#转元祖
	list1 = ['1','2','3','4']
	print(tuple(list1));	#输出：('1', '2', '3', '4')
	#转字符串
	list1 = ['1','2','3','4']
	print(" ".join(list1))
	#字符串转列表
	string1 = "1 2 3 4";
	print(string1.split(" "));#输出：['1', '2', '3', '4']

    



#list1 = ['1','a','b','','c','1','']
#for x in list1:
#    if x == '':
#        del(x)
#for x in list1:
#    print(id(x))
#list1 = ['1','a','b','','c','1','']
#for x in list1:
#    if x == '':
#        list1.remove(x)
#print(list1)



